﻿using System;

namespace HalconDotNet
{
    /// <summary>
    ///   This exception is thrown whenever an error occurs during tuple access.
    /// </summary>
    // Token: 0x0200008C RID: 140
    public class HTupleAccessException : HalconException
    {
        // Token: 0x06001E2D RID: 7725 RVA: 0x000B5AA8 File Offset: 0x000B3CA8
        private static string BuildMessage(HTupleImplementation sender, string sInfo)
        {
            string text = sInfo;
            if (sender != null)
            {
                text = string.Concat(new string[]
                {
                    "'",
                    text,
                    "' when accessing '",
                    sender.ToString(),
                    "'"
                });
            }
            return text;
        }

        // Token: 0x06001E2E RID: 7726 RVA: 0x000B5AEC File Offset: 0x000B3CEC
        internal HTupleAccessException(HTupleImplementation sender, string sInfo, Exception inner) : base(HTupleAccessException.BuildMessage(sender, sInfo), null)
        {
        }

        // Token: 0x06001E2F RID: 7727 RVA: 0x000B5AFC File Offset: 0x000B3CFC
        internal HTupleAccessException(HTupleImplementation sender, string sInfo) : this(sender, sInfo, null)
        {
        }

        // Token: 0x06001E30 RID: 7728 RVA: 0x000B5B07 File Offset: 0x000B3D07
        internal HTupleAccessException(HTupleImplementation sender) : this(sender, "Illegal operation on Tuple")
        {
        }

        // Token: 0x06001E31 RID: 7729 RVA: 0x000B5B15 File Offset: 0x000B3D15
        internal HTupleAccessException(string sInfo, Exception inner) : this(null, sInfo, inner)
        {
        }

        // Token: 0x06001E32 RID: 7730 RVA: 0x000B5B20 File Offset: 0x000B3D20
        internal HTupleAccessException(string sInfo) : this(null, sInfo)
        {
        }

        // Token: 0x06001E33 RID: 7731 RVA: 0x000B5B2A File Offset: 0x000B3D2A
        //internal HTupleAccessException() : this(null)
        internal HTupleAccessException()
        {
        }
    }
}
